﻿@using MvcContrib.UI.Grid
@using XRM.Security.WebUI.Helpers
@model List<XRM.Security.WebUI.Models.InfoSystem.InfoSystemModel>
@{
    ViewBag.Title = "Информационные системы";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<div>
    @if (Permission.AllowInfoSystemEdit())
    {
    <p>
        @Html.ActionLink("Добавить информационную систему", "Edit", "InfoSystem", null, new { @class = "btn btn-large btn-primary" })
    </p>
    }

    @{
        if (Model.Any())
        {
        <div class="filtered-table">
        <div class="checkbox">
            <label>
                <input type="checkbox" id="showAllCheckBox"/>
                Отображать неэксплуатируемые
            </label>
        </div>
        @{Html.Grid( Model ).Columns( column =>
          {
              column.For( item => Html.ActionLink( item.InfoSystemName, "Edit", "InfoSystem", new { id = item.Id }, null ) ).Named( "Наименование" );

              column.For( item => item.DomainGroup ).Named( "Группа домена" );
              column.For( item => item.StatusCaption ).Named( "Статус" );
              column.For( item => item.Operator ).Named( "Оператор" );
              column.For( item => item.OperatorContact ).Named( "Контактное лицо оператора" );
              column.For( item => item.Comment ).Named( "Примечание" );

              if ( Permission.AllowInfoSystemEdit() )
              {
                  column.Custom(@<text>
                                    @if ( item.CanDelete )
                                    {
                                    @Html.Partial( "_GridActionsPartial", new ViewDataDictionary { { "Controller", "InfoSystem" }, { "Id", item.Id } } )
                                    }
                                  </text>).Named( "<i class='fa fa-trash-o fa-action'></i>" ).Attributes( @class => "single-action" );
              }

          } ).Attributes( @class => "table table-bordered", id => "table_id" ).Empty( "Нет данных для отображения" )
            .RowAttributes( item => new MvcContrib.Hash( @class => !item.Item.InMaintenance ? "inactive hide" : "" ) )
            .Render();
        }
        </div>
        } 
    }
</div>

@section scripts
{
    @Scripts.Render( "~/bundles/gridlibrary" )

    <script type="text/javascript">
        $("#showAllCheckBox").change(function () {
            if ($(this).is(":checked")) {
                $("#table_id .inactive").removeClass("hide");
            }
            else {
                $("#table_id .inactive").addClass("hide");
            }
        });

    $(document).ready(function () {
        @if ( Model.Any() )
        {
            if ( Permission.AllowInfoSystemEdit() )
            {
            <text>
            $('#table_id').dataTable({
                paging: false,
                bFilter: false,
                bSort: true,
                info: false,
                "order": [[0, "asc"]],
                "aoColumnDefs": [{ 'bSortable': false, 'aTargets': [4, 5, 6] }]
            });
            </text>
            }
            else
            {
            <text>
            $('#table_id').dataTable({
                paging: false,
                bFilter: false,
                bSort: true,
                info: false,
                "order": [[0, "asc"]],
                "aoColumnDefs": [{ 'bSortable': false, 'aTargets': [4, 5] }]
            });
            </text>
            }
        }
        $("#showAllCheckBox").change();
        });
    </script>
}